# @author zfd
# @date 2022年12月14日 11:07
# @desc 输入10进制 输出 2 8 16

def doConvert(num):
    print(f'{num}的二进制是: {bin(num)}')
    print(f'{num}的八进制是: {oct(num)}')
    print(f'{num}的十六进制是: {hex(num)}')


def main():
    while True:
        try:
            num = int(input('input a number: '))
            doConvert(num)
            if num == 0:
                break
        except ValueError:
            print('invalid input!')


if __name__ == '__main__':
    main()
